import Vue from 'vue'
import axios from 'axios'
// 引入进度条npm
import nProgress from 'nprogress'
import { Message } from 'element-ui'
// mark
// import 'nprogress/nprogress.css'

// 前置url
// axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'

// mark:评论区的有效url
axios.defaults.baseURL = 'https://lianghj.top:8888/api/private/v1/'
// 设置超时时间
axios.defaults.timeout = 3000
// 添加请求拦截器
axios.interceptors.request.use((config) => {
  // 在发送请求之前执行一些操作
  nProgress.start()
  config.headers.Authorization = window.sessionStorage.getItem('token')
  return config
}, (error) => {
  // 使用请求错误执行一些操作
  return Promise.reject(error)
})

// 添加响应拦截器
axios.interceptors.response.use((response) => {
  // 任何位于 2xx 范围内的状态代码都会导致触发此函数
  // 对响应数据执行操作
  nProgress.done()
  return response.data
}, (error) => {
  // 任何超出 2xx 范围的状态代码都会导致触发此函数
  // 对响应错误执行操作
  return Promise.reject(error).catch(() => {
    Message.warning('后台接口正在维护中，请耐心等待')
  })
})

Vue.prototype.$http = axios
